SPARK: A High-Lev l Synthesis Framework For Applying Parallelizing Compiler Transformations
نویسندگان
چکیده
This paper presents a modular and extensible high-level synthesis research system, called SPARK, that takes a behavioral description in ANSI-C as input and produces synthesizable register-transfer level VHDL. SPARK uses parallelizing compiler technology developed previously to enhance instruction-level parallelism and re-instruments it for high-level synthesis by incorporating ideas of mutual exclusivity of operations, resource sharing and hardware cost models. In this paper, we present the design flow through the SPARK system, a set of transformations that include speculative code motions and dynamic transformations and show how these transformations and other optimizing synthesis and compiler techniques are employed by a scheduling heuristic. Experiments are performed on two moderately complex industrial applications, namely, MPEG-1 and the GIMP image processing tool. The results show that the various code transformations lead to up to 70 % improvements in performance without any increase in the overall area and critical path of the final synthesized design.
منابع مشابه
SPARK : A High-Level Synthesis Framework For Applying Parallelizing Compiler Transformations∗†
This paper presents a modular and extensible high-level synthesis research system, called SPARK, that takes a behavioral description in ANSI-C as input and produces synthesizable register-transfer level VHDL. SPARK uses parallelizing compiler technology developed previously to enhance instruction-level parallelism and re-instruments it for high-level synthesis by incorporating ideas of mutual e...
متن کاملCoupling Loop Transformations and High-Level Synthesis
Résumé In this paper we present our study of adding an advanced preprocessing code transformation step to high-level synthesis (HLS) tools. Our approach is to use advanced state-of-the-art compiler frontend as an independent C-to-C preprocessing step before synthesis. By using this approach, recent state-ofthe-art compiler advances could be used directly in HLS, eliminating their reengineering ...
متن کامل10 Parallelizing High - Level Synthesis : A Code Transformational Approach to High - Level Synthesis
Synthesis is the process of generating circuit implementations from descriptions of what a component does. Synthesis in part consists of refinement, elaboration as well as transformations and optimizations at multiple levels to generate circuits that compare favorably with manual designs. High-level synthesis (HLS) or behavioral synthesis specifically refers to circuit synthesis from algorithmi...
متن کاملMulti-transformations: Code Generation and Validity
In this paper we present a generalization of the framework of unimodular loop transformations for parallelizing compilers, called multitransformations. Multi-transformations consist of applying a di erent unimodular transformation to the iteration space of each statement in the loop body, and include also alignments. Two key aspects are considered in this paper: the generation of e cient code t...
متن کاملA Proof Theory for Loop-Parallelizing Transformations
The microprocessor industry has embraced multicore architectures as the new dominant design paradigm. Harnessing the full power of such computers requires writing multithreaded programs, but regardless of whether one is writing a program from scratch or porting an existing single-threaded program, concurrency is hard to implement correctly and often reduces the legibility and maintainability of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003